home *** CD-ROM | disk | FTP | other *** search
- import com.siemens.mp.io.File;
- import javax.microedition.lcdui.Canvas;
- import javax.microedition.lcdui.Font;
- import javax.microedition.lcdui.Graphics;
- import javax.microedition.lcdui.Image;
-
- class MyCanvas extends Canvas implements Runnable {
- Thread game0 = null;
- static byte[] sSin = new byte[]{0, 10, 21, 31, 41, 50, 59, 67, 74, 81, 87, 91, 95, 98, 99, 100};
- private String header = "RPNClock by RizaPN";
- private byte bRPN = 1;
- // $FF: renamed from: g2 javax.microedition.lcdui.Graphics
- private Graphics field_0;
- static int gLT = 20;
- // $FF: renamed from: wX int
- private int field_1 = ((Canvas)this).getWidth();
- // $FF: renamed from: wY int
- private int field_2 = ((Canvas)this).getHeight();
- private Image imgCanvas;
- private int X_0;
- private int Y_0;
- private byte blS = 15;
- private byte blM = 16;
- private byte blH = 11;
- // $FF: renamed from: ss byte
- private byte field_3;
- // $FF: renamed from: mm byte
- private byte field_4;
- // $FF: renamed from: hh byte
- private byte field_5;
- private byte omm;
- private byte ohh;
- private byte oss = -1;
- private byte ossx;
- private byte ossy;
- private byte ommx;
- private byte ommy;
- private byte ohhx;
- private byte ohhy;
- private String cvNo = "";
- private byte oldKey = 0;
- private Clock midlet;
- private Font font = Font.getFont(64, 1, 8);
-
- public MyCanvas(Clock var1) {
- this.midlet = var1;
- this.getCanvas("00");
- this.game0 = new Thread(this);
- this.game0.start();
- }
-
- public void getCanvas(String var1) {
- String var2 = "canvas" + var1 + ".png";
- File var3 = new File();
- int var4 = 0;
- this.X_0 = 0;
- this.Y_0 = 0;
- if (File.exists(var2) >= 0) {
- try {
- int var5 = var3.open(var2);
- var4 = var3.length(var5);
- byte[] var6 = new byte[var4];
- var3.read(var5, var6, 0, var6.length);
- var3.close(var5);
- this.imgCanvas = Image.createImage(var6, 0, var4);
- this.X_0 = var6[var4 - 2];
- this.Y_0 = var6[var4 - 1];
- } catch (Exception var8) {
- }
- }
-
- if (var4 == 0) {
- try {
- this.imgCanvas = Image.createImage("canvas0.png");
- } catch (Exception var7) {
- this.imgCanvas = Image.createImage(this.field_1, this.field_2);
- }
- }
-
- if (this.X_0 <= this.blM || this.X_0 > this.field_1 - this.blM) {
- this.X_0 = this.imgCanvas.getWidth() / 2;
- }
-
- if (this.Y_0 <= this.blM || this.Y_0 > this.field_2 - this.blM) {
- this.Y_0 = this.imgCanvas.getHeight() / 2;
- }
-
- if (this.X_0 <= this.blM) {
- this.X_0 = this.blM;
- }
-
- if (this.Y_0 <= this.blM) {
- this.Y_0 = this.blM;
- }
-
- }
-
- public void doClocks() {
- long var1 = System.currentTimeMillis() / 1000L;
- byte var3 = (byte)((int)(var1 % 60L));
- if (var3 != this.oss) {
- byte var4 = (byte)((int)(var1 / 60L % 60L));
- byte var5 = (byte)((int)(var1 / 3600L % 12L));
- if (this.oss >= 0) {
- this.drawLines(this.oss, this.omm, this.ohh, 1);
- }
-
- this.drawLines(var3, var4, var5, 0);
- this.oss = var3;
- this.omm = var4;
- this.ohh = var5;
- }
- }
-
- public void drawLines(byte var1, byte var2, byte var3, int var4) {
- byte var5 = (byte)(5 * var3 + var2 / 12);
- byte var6 = (byte)((var2 + 54) % 60);
- byte var7 = (byte)((var2 + 6) % 60);
- byte var8 = (byte)((var5 + 54) % 60);
- byte var9 = (byte)((var5 + 6) % 60);
- byte[] var10 = this.getSin(var2, (byte)3);
- byte[] var11 = this.getSin(var5, (byte)3);
- byte[] var12 = this.getSin(var6, (byte)3);
- byte[] var13 = this.getSin(var8, (byte)3);
- byte[] var14 = this.getSin(var7, (byte)3);
- byte[] var15 = this.getSin(var9, (byte)3);
- byte[] var16 = this.getSin(var1, this.blS);
- byte[] var17 = this.getSin(var2, this.blM);
- byte[] var18 = this.getSin(var5, this.blH);
- if (var4 == 0) {
- this.field_0.setColor(0, 0, 0);
- } else {
- this.field_0.setColor(255, 255, 255);
- }
-
- this.field_0.drawLine(this.X_0 - var11[0], this.Y_0 - var11[1], this.X_0 - var11[0] + var13[0], this.Y_0 - var11[1] + var13[1]);
- this.field_0.drawLine(this.X_0 - var11[0] + var13[0], this.Y_0 - var11[1] + var13[1], this.X_0 + var18[0], this.Y_0 + var18[1]);
- this.field_0.drawLine(this.X_0 - var11[0], this.Y_0 - var11[1], this.X_0 - var11[0] + var15[0], this.Y_0 - var11[1] + var15[1]);
- this.field_0.drawLine(this.X_0 - var11[0] + var15[0], this.Y_0 - var11[1] + var15[1], this.X_0 + var18[0], this.Y_0 + var18[1]);
- this.field_0.drawLine(this.X_0 - var10[0], this.Y_0 - var10[1], this.X_0 - var10[0] + var12[0], this.Y_0 - var10[1] + var12[1]);
- this.field_0.drawLine(this.X_0 - var10[0] + var12[0], this.Y_0 - var10[1] + var12[1], this.X_0 + var17[0], this.Y_0 + var17[1]);
- this.field_0.drawLine(this.X_0 - var10[0], this.Y_0 - var10[1], this.X_0 - var10[0] + var14[0], this.Y_0 - var10[1] + var14[1]);
- this.field_0.drawLine(this.X_0 - var10[0] + var14[0], this.Y_0 - var10[1] + var14[1], this.X_0 + var17[0], this.Y_0 + var17[1]);
- this.field_0.drawLine(this.X_0, this.Y_0, this.X_0 + var16[0], this.Y_0 + var16[1]);
- }
-
- public byte[] getSin(byte var1, byte var2) {
- byte[] var3 = new byte[]{0, 0};
- byte var4;
- byte var5;
- if (var1 <= 15) {
- var4 = sSin[var1];
- var5 = (byte)(-sSin[15 - var1]);
- } else if (var1 <= 30) {
- var4 = sSin[30 - var1];
- var5 = sSin[var1 - 15];
- } else if (var1 <= 45) {
- var4 = (byte)(-sSin[var1 - 30]);
- var5 = sSin[45 - var1];
- } else {
- var4 = (byte)(-sSin[60 - var1]);
- var5 = (byte)(-sSin[var1 - 45]);
- }
-
- var3[0] = (byte)(var2 * var4 / 100);
- var3[1] = (byte)(var2 * var5 / 100);
- return var3;
- }
-
- public void run() {
- while(true) {
- try {
- Thread.sleep(100L);
- } catch (InterruptedException var2) {
- }
-
- this.doClocks();
- }
- }
-
- public void paint(Graphics var1) {
- this.field_0 = var1;
- this.field_0.setColor(255, 255, 255);
- this.field_0.fillRect(0, 0, this.field_1, this.field_2);
- var1.drawImage(this.imgCanvas, 0, 0, gLT);
- this.doClocks();
- if (this.bRPN == 1) {
- var1.setColor(0, 0, 0);
- var1.setFont(this.font);
- var1.drawString(this.header, 0, this.field_2 - 9, gLT);
- }
-
- }
-
- public void keyPressed(int var1) {
- if (var1 < 0) {
- switch (var1) {
- case -12:
- this.midlet.exitMIDlet();
- break;
- case -11:
- this.bRPN = (byte)(1 - this.bRPN);
- ((Canvas)this).repaint();
- }
-
- } else {
- int var2 = var1 - 48;
- if (this.cvNo == "") {
- this.cvNo = "" + var2;
- } else {
- this.getCanvas(this.cvNo + var2);
- ((Canvas)this).repaint();
- this.cvNo = "";
- }
- }
- }
- }
-